// 通过JDK文档的类的层次结构部分获得信息
import javax.swing.*;
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.*;

public class JFrameDemo {

	public static void main(String[] args) {
		// 创建窗口对象：通过JDK文档的构造方法部分获得信息
		JFrame window = new JFrame("带标题的窗口");
		// 控制坐标和尺寸：通过JDK文档的方法部分获得信息
		window.setBounds(100, 100, 480, 320);
		// 控制窗口的默认关闭行为，点关闭按钮的时候退出程序
		window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 获取窗口的内容面板对象(默认采用的是BorderLayout布局)
		Container contentPane = window.getContentPane();

		JButton btn = new JButton("按钮");

		// 默认添加到center区域
		contentPane.add(btn);
		// 放到南边
		// JPanel的默认布局是FlowLayout
		JPanel btnPanel = new JPanel(new BorderLayout());
		btnPanel.add(btn, BorderLayout.EAST);
		JTextField sendMsg = new JTextField();
		btnPanel.add(sendMsg, BorderLayout.CENTER);
		contentPane.add(btnPanel, BorderLayout.SOUTH);

		JTextArea msg = new JTextArea("hello GUI");
		contentPane.add(msg, BorderLayout.CENTER);
		msg.setEditable(false);

		// 演示绝对布局（空布局）
		// contentPane.setLayout(null);
		// JTextArea msg = new JTextArea("hello GUI");
		// 绝对布局需要自己为每个组件指定坐标和大小
		// msg.setBounds(15, 15, 250, 50);
		// contentPane.add(msg);

		// 控制窗口的显示与隐藏：通过JDK文档的方法部分获得信息
		window.setVisible(true);

	}


}